The present invention relates generally to peripheral devices, and particularly to systems and methods for updating device drivers associated with those peripheral devices.
Some host devices, such as laptop computers, can communicate with a wireless network using a plug-in peripheral device commonly referred to as a “PC card.” PC cards, which may connect to the computer via a Universal Serial Bus (USB) connection, include a radio frequency (RF) transceiver and an integrated antenna. Although capabilities generally differ, PC cards can send and receive data to and from the wireless network at a speed that is substantially similar to that of a fixed connection. Thus, it is possible for laptop users to communicate with one or more remote parties, browse the Internet, or send and receive email from almost anywhere on Earth.
PC cards and other peripheral devices comprise various hardware components—some of which include embedded software programs called “firmware.” Generally, firmware is responsible for performing a variety of low-level tasks, and may be upgraded from time to time to fix bugs, add or alter functionality, or improve the performance and reliability of the peripheral device. However, upgrading firmware can create a variety of problems.
For example, laptop computers typically require their own software programs called “device drivers” to allow user applications to communicate with the PC card. As such, the device drivers should be compatible with whatever version firmware is running on the PC card; however, updating the firmware with a new version can introduce incompatibilities between the two. That is, the device drivers that were once appropriate for use prior to a firmware upgrade may not be compatible with the new firmware version. This can be problematic because the incompatibilities may cause the PC card to become inoperable.